xen/arm: add support for run_in_exception_handler()
authorJuergen Gross <jgross@suse.com>
Sat, 16 Jan 2021 10:33:37 +0000 (11:33 +0100)
committerJulien Grall <jgrall@amazon.com>
Sat, 23 Jan 2021 11:30:32 +0000 (11:30 +0000)
commitc8d4b6304a5ee22bfd8a207973199b379c36604e
tree92eacfc24e84049c36354f7cd72dc5c111a65ccd
parentb4707372296874cbfd882b8f9351b7ae549d5463
xen/arm: add support for run_in_exception_handler()

Add support to run a function in an exception handler for Arm. Do it
as on x86 via a bug_frame, but pass the function pointer via a
register.
This needs to be done that way because GCC will not allow to use
"i"  when PIE is enabled (Xen doesn't set the flag but instead rely on
the default value from the compiler).

Use the same BUGFRAME_* #defines as on x86 in order to make a future
common header file more easily achievable.

Signed-off-by: Juergen Gross <jgross@suse.com>
[ julien: Add more details on the issue between "i" and -fpie ]
Acked-by: Julien GralL <jgrall@amazon.com>
xen/arch/arm/traps.c
xen/arch/arm/xen.lds.S
xen/common/virtual_region.c
xen/include/asm-arm/arm32/bug.h
xen/include/asm-arm/arm64/bug.h
xen/include/asm-arm/bug.h